home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 21 / Mac Magazin and MacEasy Magazine CD - Issue 21.iso / Multimedia / Super AnimationAssistants / SuperAnimationAssistants vol2 ƒ / SuperAA v II doc.text_only < prev   
Text File  |  1995-08-04  |  7KB  |  71 lines

  1. look! up in the sky! it's the dennis franz! it's a danish! it's the...
  2. SuperAnimationAssistants Package
  3.  volume II
  4.  version 1.0
  5.  
  6. This is AcknowledgeWare. If you use it, you are morally obligated to send me email (kilhannah@aol.com) and acknowledge my existance. You can send me suggestions for more Animation Assistants and i might even build them. All i want is a little human interaction, is that so wrong? Also, you should check out the hot new alternative band 'kill hannah.' in the SPINonline Cyber Garage.
  7. ©1995 isaac bender
  8.  
  9. put all of the animation assistants into your 'animation assistants' folder, which is in your infini-d folder. they will appear on the 'animation assistants' submenu of the animation menu in infini-d. if you don't have an animation assistants folder in your infini-d folder you can create one and then put these animation assistants in it. the ones that create eventmarks say so ion their descriptions. the ones that do not create eventmarks work best when a large number of closely spaced eventmarks are selected. some of them are even a little useful. the star of this batch, in my opinion, is roll.
  10.  
  11. custom hovering: this AA creates 100 eventmarks after the last selected eventmark for each object. in addition to its other functions, you can use these eventmarks as material to use with the 2 AAs from volume 1 whose names are mathematical-looking, which need some eventmarks to work with as opposed to making their own and its also a lot easier than control-option dragging the same eventmark 100 times. this is the most flexible of the lot. it will create a motion path based on the sine function in each of the 3 axes. you can specify the amplitude and frequency of the function independently on each axis, but the way that you do this is a little, well, nonstandard. here's how. the position of the object at the last selected eventmark determines the amplitude and its rotation specifies the frequency. for example, if the object's x position and x rotation are both 1, the object's motion along the x axis can be described as this graph, where the x axis on the graph = time and the y axis on the graph = the object's  x position at that time:
  12. 
  13. if the object's x position and x rotation are both 3, the object's motion along the x axis can be described as this graph, where the x axis on the graph = time and the y axis on the graph = the object's  x position at that time:
  14. 
  15. since this is independent for each axis, you can create some pretty neato paths. as soon as i master dialog boxes you will be able to enter the parameters in a more standard way and also you will be able to use functions other than sine. if this description confuses you then just create an object, enter some random numbers into the object floater, select the object's eventmark, run Custom Hovering, and see what happens. run 'rotation=position' or 'align direction to  motion' on the results for an interesting effect. it's neato. formula:
  16.  
  17.     x_amplitude=event->position.x;
  18.     y_amplitude=event->position.y;
  19.     z_amplitude=event->position.z;
  20.         
  21.     x_frequency=event->rotation.x*degrees_per_radian;  /** convert**/    
  22.     y_frequency=event->rotation.y*degrees_per_radian;  /**from radioans**/ 
  23.     z_frequency=event->rotation.z*degrees_per_radian;  /**to degrees**/
  24.  
  25.     new_event>position.x=x_amplitude*sin(x_frequency*new_event->time);
  26.     new_event>position.y=y_amplitude*sin(y_frequency*new_event->time);
  27.     new_event>position.z=z_amplitude*sin(z_frequency*new_event->time);
  28.  
  29. custom hovering II: just like custom hovering, except this one uses the cosine function for the y axis.
  30.  
  31. dimension=(1/2)position: just like dimension=position, except that the dimension gets set to half of the position of the object at every selected eventmark. i think this one loks better, but that's a matter of opinion. watch for variable controls in a future version.
  32.  
  33. float, then warp out: this one, like the first, creates 100 eventmarks after the last selected eventmark for each object. reminiscent of the enterprise going into warp, but not really. must be seen to be comprehended. run 'rotation=position' or 'align direction to  motion' on the results for an interesting effect. formula:
  34.  
  35.     new_event->position.x=(2*sin(new_event->time))*(2*cos(new_event->time));
  36.     new_event->position.y=(2*sin(new_event->time))/(1*cos(new_event->time));
  37.     new_event->position.z=tan(new_event->time)/(1/(cos(new_event->time)));
  38.             
  39.     new_event->rotation.x=new_event->position.y;
  40.     new_event->rotation.y=new_event->position.x;
  41.     new_event->rotation.z=new_event->position.z;
  42.  
  43. float, then warp out w/scale: just like the previous, except that the object will stretch as it 'warps'. i broke one of the rules and set the scale of the object in a non uniform way. in infini-d you can only change the uniform scale, but this changes only the x scale and leaves the y and z alone. run 'rotation=position' or 'align direction to  motion' on the results for an interesting effect. maybe once i master input from dialog boxes i'll make a non-uniform scale AA. formula:
  44.  
  45.     new_event->position.x=(2*sin(new_event->time))*(2*cos(new_event->time));
  46.     new_event->position.y=(2*sin(new_event->time))/(1*cos(new_event->time));
  47.     new_event->position.z=tan(new_event->time)/(1/(cos(new_event->time)));
  48.             
  49.     new_event->rotation.x=new_event->position.y;
  50.     new_event->rotation.y=new_event->position.x;
  51.     new_event->rotation.z=new_event->position.z;
  52.  
  53.     new_event->scale.x=new_event->position.x;
  54.  
  55. roll: the one with the shortest name is also the one most likely to be useful. applying this AA to a set of eventmarks will make the object roll between the positions at the eventmarks as long as the difference in position along either the x or y axis is no greater than pi. if you run into this limitation you can add eventmarks between the existing ones to make the distance traveled between eventmarks smaller than pi. useful for wheels of cars, bikes, etc., pinballs, basketballs, any rolling object, really. 
  56.  
  57. rotation=position: you can use this one on the results of some of the other ones to get some neat effects. sets the x, y, and z rotation of an object equal to its x, y, and z position. formula:
  58.  
  59.     event->rotation=event->position;
  60.  
  61. stasis field: creates 100 eventmarks after the last selected eventmark for each object.  makes an object look like it's floating in a stasis field. looks like something that could be used on 'babylon 5' or some other science fiction show. i don't remember the formula. oops
  62.  
  63. Widening curvy path: makes an object move on a path that looks like this when viewed from above:
  64. 
  65. also makes the object 'roll' along this path. i don't remember the formula.
  66.  
  67. repetitive and droning,
  68.  
  69. isaac bender
  70. kilhannah@aol.com
  71.